const crypto = require('crypto');

// 生成一个随机的AES密钥（128位、192位或256位）
const key = crypto.randomBytes(32); // 256位密钥

// 创建一个初始化向量 (IV)
const iv = crypto.randomBytes(16);

// 使用AES-CBC模式进行加密
const cipher = crypto.createCipheriv('aes-256-cbc', key, iv);
cipher.setAutoPadding(true); // 设置自动补全填充模式

// 加密数据
export function encrypted(data){
    let encrypted = cipher.update(data, 'utf8', 'hex');
    encrypted += cipher.final('hex'); // 添加最后的加密数据
    return encrypted;
}

// 使用AES-CBC模式进行解密
const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv);
decipher.setAutoPadding(true); // 设置自动补全填充模式

// 解密数据
export function decrypted(data){
    let decrypted = decipher.update(data, 'hex', 'utf8');
    decrypted += decipher.final('utf8'); // 添加最后的解密数据
    return decrypted;
}
